package com.xuecheng.media.convert;

import com.xuecheng.api.media.model.dto.MediaDTO;
import com.xuecheng.api.media.model.vo.MediaAuditVO;
import com.xuecheng.api.media.model.vo.MediaVO;
import com.xuecheng.media.entity.Media;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 媒资信息转换类
 */
@Mapper
public interface MediaConvert {

	MediaConvert INSTANCE = Mappers.getMapper(MediaConvert.class);

    // po 转 dto
    MediaDTO entity2dto(Media media);

    // dto 转 po
    Media dto2entity(MediaDTO media);

    // vo 转 dto
    MediaDTO vo2dto(MediaVO vo);
    // 将pos转为dtos数据
    /*
     * 集合的方法会依赖于单个数据转换的方法
     *       entitys2dtos-》entity2dto
     *       Mapping注解是使用在单个数据转换方法上的，不是在集合方法上来使用
     * */
    List<MediaDTO> entitys2dtos(List<Media> media);

    // mediaVo 转 dto
    MediaDTO mediaVo2dto(MediaAuditVO auditVO);

}